package chapter5;
import java.util.Scanner;
/****************************************************************
 * Author：icynlau
 * Description: 显示金字塔  和5_17很像
 * 		不过，这里最中间得都是2的幂数
 * 可以看到，是从2^0 2^1 ... 2^n-1 2^n 2^n-1 ...2^1 2^0
 * 这样思考的话，就是写几个for循环
 * Date:2021/4/3
 * ***************************************************************
 */
public class exc5_19 {
	public static void main(String[] args) {
		Scanner input=new Scanner (System.in);
		
		
		for(int i=0;i<8;i++) {
		for(int j=0;j<7-i;j++) {
			System.out.printf("\t");
		}
		
		for(int j=0;j<i;j++) {
			System.out.printf("\t%5d",(int)Math.pow(2,j));
		}
		System.out.printf("\t%5d",(int)Math.pow(2, i));
		for(int j=i-1;j>=0;j--) {
			if(i==7&&j==i-1) {		//为了对齐最后一行
				System.out.printf("%5d",(int)Math.pow(2,j));
			}else {
				System.out.printf("\t%5d",(int)Math.pow(2,j));
			}
			
		}
		System.out.printf("\n");
		}
		//下面这种插入制表符的方式对齐比较麻烦
//		for(int i=0;i<8;i++) {
//			for(int j=0;j<7-i;j++) {
//				System.out.print("\t\t");
//			}
//			
//			for(int j=0;j<i;j++) {
//				System.out.print("\t\t"+Math.pow(2,j));
//			}
//			System.out.print("\t\t"+Math.pow(2, i));
//			for(int j=i-1;j>=0;j--) {
//				if(i==7&&j==i-1) {		//为了对齐最后一行
//					System.out.print("\t"+Math.pow(2,j));
//				}else {
//					System.out.print("\t\t"+Math.pow(2,j));
//				}
//				
//			}
//			System.out.print("\n");
//			
//			
//		}
		
	}

}
